package com.apts.controller;

import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;

import com.apts.constant.Constant_PlanB_;
import com.apts.jfinalbase.BaseController;
import com.apts.jfinalbase.BaseJsonPojo;
import com.apts.pojo.ErrorPojo;
import com.apts.pojo.NomalPojo;
import com.apts.servise.EnterpriseEditServise;
import com.jfinal.upload.UploadFile;

/**
 * 企业信息的查找增删
 * @author lwh
 * API: /Enterprise
 */
public class EnterpriseController extends BaseController {
	public static Logger log4j = Logger.getLogger(EnterpriseController.class);

	// 查找全部企业信息
	public void FindAll() {
		log4j.info("执行到这里: find all enterprise");
		BaseJsonPojo json = EnterpriseEditServise.Service.findAll();
		this.renderJson(json);
	}

	// 根据企业编号精确查找
	public void FindById() {
		String id = this.getPara("id");
		BaseJsonPojo json = EnterpriseEditServise.Service.findById(id);
		this.renderJson(json);
	}

	// 根据企业编号模糊查找
	public void FindByregcode() {
		String regcode = this.getPara("regcode");
		BaseJsonPojo json = EnterpriseEditServise.Service.findByRegcode(regcode);
		this.renderJson(json);
	}

	// 根据企业名模糊查找
	public void FindByName() {
		String epname = this.getPara("epname");
		BaseJsonPojo json = EnterpriseEditServise.Service.findByName(epname);
		this.renderJson(json);
	}

	// 根据企业地址模糊查找
	public void FindByAddress() {
		String address = this.getPara("address");
		BaseJsonPojo json = EnterpriseEditServise.Service.findByAddress(address);
		this.renderJson(json);
	}

	// 根据企业经营范围模糊查找
	public void FindByRunscope() {
		String runscope = this.getPara("runscope");
		BaseJsonPojo json = EnterpriseEditServise.Service.findByRunscope(runscope);
		this.renderJson(json);
	}

	// 添加企业信息
	public void AddEnterprise() {
		BaseJsonPojo json = null;
		UploadFile uf = (UploadFile) this.getSession().getAttribute("companyLogoFile");
		if (uf == null) {
			json = new ErrorPojo();
			json.setMsg("请上传公司 logo ");
			this.renderJson(json);
			return;
		}
		log4j.info("进入AddEnterprise");
		// System.out.println("进入AddEnterprise");
		Map<String, Object> map = new HashMap<String, Object>(0);
		// UploadFile logo = getFile("logo");
		map.put("epname", this.getPara("epname"));// 企业名
		map.put("regcode", this.getPara("regcode"));// 注册号
		map.put("address", this.getPara("address"));// 地址
		map.put("runscope", this.getPara("runscope"));// 经营范围
		map.put("mobiletele", this.getPara("mobiletele"));// 移动电话
		map.put("cellphone", this.getPara("cellphone"));// 固定电话
		map.put("regtime", this.getPara("regtime"));// 注册时间
		map.put("legalperson", this.getPara("legalperson"));// 企业法人
		map.put("intruduction", this.getPara("intruduction"));// 具体介绍
		// map.put("logo", logo.getUploadPath());//logo路径
		map.put("logo", Constant_PlanB_.CompanyResource + uf.getFileName());
		// 清除session缓存属性
		this.getSession().removeAttribute("companyLogoFile");
		EnterpriseEditServise.Service.Add(map);
		json = new NomalPojo();
		json.setMsg("添加成功。");
		this.renderJson(json);
	}

	// 删除企业信息
	public void deleteEnterprise(){
		log4j.info("执行到这里: 删除企业信息");
		String id = this.getPara("id");
		EnterpriseEditServise.Service.Delete(id);
		this.renderJson(new NomalPojo());
	}
	
	// 修改企业信息
	public void UpdateEnterprise() {
	
		log4j.info("进入UpdateEnterprise");
		BaseJsonPojo json = null;
		// System.out.println("进入AddEnterprise");
		Map<String, Object> map = new HashMap<String, Object>(0);
		UploadFile uf = (UploadFile) this.getSession().getAttribute("companyLogoFile");
		if (uf != null) {
			// map.put("logo", logo.getUploadPath());//logo路径
			map.put("logo", Constant_PlanB_.CompanyResource + uf.getFileName());
			// 清除session缓存属性
			this.getSession().removeAttribute("companyLogoFile");
		}
		map.put("id", this.getPara("id"));
		map.put("epname", this.getPara("epname"));// 企业名
		map.put("regcode", this.getPara("regcode"));// 注册号
		map.put("address", this.getPara("address"));// 地址
		map.put("runscope", this.getPara("runscope"));// 经营范围
		map.put("mobiletele", this.getPara("mobiletele"));// 移动电话
		map.put("cellphone", this.getPara("cellphone"));// 固定电话
		map.put("regtime", this.getPara("regtime"));// 注册时间
		map.put("legalperson", this.getPara("legalperson"));// 企业法人
		map.put("intruduction", this.getPara("intruduction"));// 具体介绍

		EnterpriseEditServise.Service.Update(map);
		json = new NomalPojo();
		json.setMsg("修改成功。");
		this.renderJson(json);
	}

	public void DeleteEnterprise() { // 删除企业（企业失效）
		String regcode = this.getPara("regcode");
		EnterpriseEditServise.Service.Delete(regcode);
		this.renderJson(new NomalPojo());
	}

	public void choice() { // 根据选择跳到相应的处理
		
		String choice = this.getPara("choice");// 获取复选框信息
		
		log4j.info("执行到这里: 选择-->" + choice);
		
		if (choice.equals("1"))
			FindAll(); // 查找全部
		if (choice.equals("2"))
			FindByName(); // 根据企业名
		if (choice.equals("3"))
			FindByregcode(); // 根据企业注册号
		if (choice.equals("4"))
			FindByAddress(); // 根据企业地址
		if (choice.equals("5"))
			FindByRunscope(); // 根据企业经营范围
	}

}
